package Datos;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import Negocio.Cliente;

public class ClientesDB {

    public boolean grabar(Cliente cliente) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "insert into cliente values('"+cliente.getCedula()+"', '"+cliente.getNombre()+"', '"+cliente.getApellido()+"', '"+cliente.getDir_calle()+"', '"+cliente.getDir_numero()+"', "+cliente.getTelefono()+")";
        Boolean resultado = db.ingreso(query);
        db.cerrarConexion();
        return resultado;
    }
    public int modificar(Cliente cliente) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="update cliente set dir_calle='" + cliente.getDir_calle() + "', dir_numero='" + cliente.getDir_numero() + "', telefono="+ cliente.getTelefono() +" where cedula='" + cliente.getCedula()+"'";
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }
    public int eliminar(String cedula) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="delete from cliente where cedula ='" + cedula+"'";
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }
    public Cliente buscar(String cedula) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="select * from cliente where cedula ='" + cedula +"'";        
        ResultSet resultado = db.seleccion(query);
        Cliente cliente=null;
        if (resultado!=null) {
            resultado.next();
            cliente = new Cliente();
            cliente.setCedula(resultado.getString("Cedula"));           
            cliente.setNombre(resultado.getString("Nombre"));
            cliente.setApellido(resultado.getString("Apellido")); 
            cliente.setDir_calle(resultado.getString("Dir_Calle"));
            cliente.setDir_numero(resultado.getString("Dir_Numero"));
            cliente.setTelefono(resultado.getString("Telefono"));                        
        } 
        db.cerrarConexion();
        return cliente;
        
    }
    public ArrayList listar() throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="select * from cliente ";
        ResultSet resultado = db.seleccion(query);
        Cliente cliente=null;
        ArrayList todos=new ArrayList();
        while (resultado.next()) {
            cliente = new Cliente();
            cliente.setCedula(resultado.getString(1));           
            cliente.setNombre(resultado.getString(2));
            cliente.setApellido(resultado.getString(3)); 
            cliente.setDir_calle(resultado.getString(4));
            cliente.setDir_numero(resultado.getString(5));
            cliente.setTelefono(resultado.getString(6));  
            todos.add(cliente);
        }
        db.cerrarConexion();
        return todos;
    }

}